查看原文
其他

一起看 I/O | Android 12 Beta 版发布,诸多亮点不容错过

Android Android 开发者 2021-08-05

作者 / Dave Burke, VP of Engineering


今天在 Google I/O 大会上,我们发布了 Android 12 的第一个 Beta 版。Android 12 是我们有史以来最具雄心的版本之一,我们致力于创造一套能适应您的需求的全新用户界面,提高性能,同时将隐私和安全置于核心。对于开发者来说,我们为大家提供了更多的工具,方便您在手机、笔记本电脑、平板电脑、可穿戴设备、电视和汽车上构建令人愉悦的体验。


  • Google I/O
    https://events.google.com/io/


Beta 1 中有很多值得探索的地方。首先是对 Android 系统最重要的 UI 更新,这套界面用我们称之为 Material You 的设计语言创建。此外我们还提供了一些新的隐私功能供大家体验,比如近似位置,以及一个名为性能等级 (Performance Class) 的新标准,让应用和用户可以识别高性能设备。

 

  • Material You
    https://material.io/blog/announcing-material-you


今天您就可以在 Pixel 设备上开始体验 Android 12 Beta 版。另外,得益于我们的设备制造商合作伙伴们的努力,您现在也可以在更多设备上体验 Beta 版,包括来自华硕、OnePlus、OPPO、Realme真我、夏普、TCL、Transsion、Vivo、小米和中兴的部分设备,更多设备也正在加入这一行列。了解详情:

https://developer.android.google.cn/about/versions/12/devices

 

  • 开始体验 Android 12 Beta
    https://www.google.com/android/beta


请继续阅读本文了解更多发布亮点。有关 Android 12 的详细信息以及如何开始开发,请访问 Android 12 开发者网站:
https://developer.android.google.cn/about/versions/12



Android 的新 UI



正如我们在面向消费者的博文中强调的那样,Android 12 带来了 Android 历史上最大的设计变更。我们重新思考了整套体验,包括颜色、形状、光照和动效,使得 Android 12 更具表现力,更鲜活,更个性化。这项工作是在我们的软件、硬件以及 Material Design 团队的深入合作下完成的。我们正在将软件和硬件的生态系统统一在同一种设计语言下,名为 Material You


  • Android 12 Beta: 为您设计
    https://blog.google/products/android/android-12-beta
  • Material You
    https://material.io/blog/announcing-material-you

我们已经将新的设计语言扩展到整个平台和 UI 组件,因此您的应用将自动获得这些升级。


重新设计的 widget - 随着 Android 12 中设计的更新,应用 widget 也已焕然一新,更实用、更美观,且更易于发现。我们增加了新的交互控件,如复选框、开关和单选按钮,并让配置 widget 更轻松。Android 12 widget 与我们的系统 UI 和主题配合起来非常美观,圆角和填充能够自动适应每个启动器和主屏幕。响应式布局能让您将 widget 适配于手机、平板电脑、可折叠设备和其他屏幕。我们还添加了动态色彩 API,这样您的 widget 就可以使用系统颜色来创建个性化且一致的外观。我们还通过改进的 widget 选择器以及与 Assistant 的整合,使得 widget 更易于发现。您可以在这里查看示例代码并上手体验。请访问官方文档了解详细信息:

https://developer.android.google.cn/about/versions/12/features/widgets


  • 新的交互控件

    https://developer.android.google.cn/about/versions/12/features/widgets#new-compound-buttons

  • 配置 widget

    https://developer.android.google.cn/about/versions/12/features/widgets#apply-configuration-options

  • 响应式布局

    https://developer.android.google.cn/about/versions/12/features/widgets#provide-responsive-layouts

  • 动态色彩 API

    https://developer.android.google.cn/about/versions/12/features/widgets#dynamic-colors

  • 示例代码

    https://github.com/android/user-interface-samples/tree/main/AppWidget

过度滚动拉伸 - 我们还增加了一个新的系统级别的过度滚动 "拉伸" 效果,让用户知道他们已经滚动到了用户界面中内容的末端。拉伸效果提供了自然的垂直和水平滚动停止指示,通用于所有应用,且在整个平台和 AndroidX 的滚动容器中默认启用。新的过度滚动拉伸效果取代了以前版本中的发光效果。请务必在您的应用和内容中测试新的滚动行为,您也可以选择不启用此功能。请访问官方文档了解详细信息:

https://developer.android.google.cn/about/versions/12/overscroll


更流畅的音频过渡 - UI 不仅仅涵盖视觉效果,我们还改进了处理音频焦点的方式。当一个应用失去音频焦点时,它的音频会自动淡出,从而在播放音频的应用之间提供一个更平滑的过渡,并防止它们的声音互相重叠。这在可折叠和多屏幕的 Android 环境中尤为重要。请访问官方文档了解详细信息:
https://developer.android.google.cn/about/versions/12/features/audio-focus-improvements


性能表现



在 Android 12 中,我们对性能表现进行了重大且深入的资源投入: 从提升基础性能,以让系统和应用更快更流畅,到为高性能设备设立新的标准,以帮助开发者在这些设备上提供更丰富的体验。


更快、更高效的系统性能 - 我们将核心系统服务所需的 CPU 时间减少了 22%,因此设备将更快、更灵敏。我们还将系统服务器对大核的使用减少了 15%,从而提高了 Android 的电源效率,使得设备在需要充电之前能运行更长的时间。

我们通过减少锁争用和延迟的变化程度,改善了应用切换和启动时间。我们还优化了 I/O,以加快应用的加载。在 PackageManager 中,只读快照减少了 92% 的锁争用。在 Binder 中,轻量级缓存从根本上改善了目标调用的延迟,最高可达 47 倍。在 I/O 方面,我们对 dex/odex/vdex 文件进行了加速,以改善应用的加载时间,这在低内存手机上尤为明显。我们对通知跳转 (notification trampoline) 的限制也有助于减少从通知中启动的应用的延迟。例如,在不使用通知跳转后,Google Photos 应用的启动速度提高了 34%。


  • 无法通过服务或广播接收器创建通知跳转
    https://developer.android.google.cn/about/versions/12/behavior-changes-12#notification-trampolines

为了提高数据库查询性能,我们通过在 Binder 事务中内联结果优化了 CursorWindow。对于小窗口,CursorWindow 的速度提高了 36%,而对于超过 1,000 行的窗口,改进幅度可高达 49 倍。

性能等级 - 从 Android 12 开始,我们与生态系统的合作伙伴一起,为高性能的 Android 设备引入了一个通用标准。

这个标准被称为性能等级 (Performance Class),其中定义了一套超越 Android 基础要求的性能。符合性能等级要求的设备可以支持更苛刻的用例,并提供更高质量的内容。开发者可以在运行时检查性能等级,然后可靠地提供增强的体验,以充分利用设备的性能。


  • 检查设备性能等级
    https://developer.android.google.cn/reference/android/os/Build.VERSION.html#MEDIA_PERFORMANCE_CLASS


目前我们将性能等级指标的重点放在媒体用例上,涵盖的指标包括摄像头启动延迟、可用的编解码器和编码质量、最低内存大小、屏幕分辨率和读/写性能。请访问官方文档了解详细信息:

https://developer.android.google.cn/about/versions/12/features/performance-class



从设计源头保护隐私



隐私是我们一切工作的核心,在 Android 12 中,我们将继续为大家提供更多的透明度和控制权,同时保证设备和数据安全。今天我们也发布了一些即将出现在 Beta 2 中的隐私特性,包括隐私仪表板 (Privacy Dashboard)、支持应用分享更多数据使用情况的背景信息、麦克风和摄像头的指示器、麦克风和摄像头的开关,以及剪贴板通知。请继续关注这些特性的后续更新。以下是本次 Beta 1 中新加入内容。


应用休眠 - 去年我们发布了权限自动重置功能,在过去的两周内,Android 重置了超过 850 万个未被使用的应用权限。那些已经被忘记的应用将不再能访问用户的数据。在 Android 12 中,我们在权限自动重置的基础上,对长时间未使用的应用进行智能休眠,从而优化设备存储、性能和安全。休眠不仅会撤销用户之前授予的权限,而且还会强制停止应用,并回收内存、存储和其他临时资源。系统还会阻止休眠的应用在后台运行作业或接收推送通知,来帮助用户保持安全。休眠对大多数应用来说应该是透明的,但如果需要,您可以引导用户到设置中关闭您的应用的休眠功能。请访问官方文档了解详细信息:

https://developer.android.google.cn/about/versions/12/behavior-changes-12#app-hibernation

  • 自动重置未使用的应用的权限
    https://developer.android.google.cn/about/versions/11/privacy/permissions#auto-reset


附近设备权限 - 以前,蓝牙扫描要求应用拥有位置权限,这对那些需要与附近设备配对但实际上不需要设备位置的应用是一个挑战。应用现在可以扫描附近的设备,而不需要位置许可。把 Target SDK 等级升级到 Android 12 的应用可以使用新的 BLUETOOTH_SCAN 权限并设置 usesPermissionFlags="neverForLocation" 属性进行扫描。在与设备配对后,您可以使用 BLUETOOTH_CONNECT 权限与之互动。这些权限旨在促进隐私友好的应用设计,同时降低应用使用的门槛。请访问官方文档了解详细信息: 
https://developer.android.google.cn/about/versions/12/features/bluetooth-permissions

  • BLUETOOTH_SCAN
    https://developer.android.google.cn/reference/android/Manifest.permission.html#BLUETOOTH_SCAN
  • usesPermissionFlags="neverForLocation"
    https://developer.android.google.cn/reference/android/R.attr.html#usesPermissionFlags
  • BLUETOOTH_CONNECT
    https://developer.android.google.cn/reference/android/Manifest.permission.html#BLUETOOTH_CONNECT


近似位置 - 最近几个版本更新,我们为大家提供了更好的方法来管理对位置的访问,比如为前台和后台的访问提供独立的权限,以及 "仅限这一次" 选项。现在,对于针对 Android 12 的应用,我们通过新的 "近似位置" 选项带来了更多的控制权。当应用请求精确位置数据时,用户现在可以选择授予精确或近似的位置。用户在任何时候都可以通过 "设置" 来修改应用的位置精度。如果您的应用请求的是精确位置数据 (ACCESS_FINE_LOCATION),请考虑本次带来的变化,以确保您的应用在只获得近似位置时也能正常运行。对于几乎所有常见的位置用例,我们建议只要求获取近似位置 (ACCESS_COARSE_LOCATION)。请访问官方文档了解详细信息:

https://developer.android.google.cn/about/versions/12/behavior-changes-12#approximate-location

  • 请求位置权限
    https://developer.android.google.cn/training/location/permissions
  • ACCESS_FINE_LOCATION
    https://developer.android.google.cn/reference/android/Manifest.permission#ACCESS_FINE_LOCATION
  • ACCESS_COARSE_LOCATION
    https://developer.android.google.cn/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION



应用兼容性



如果您还没有测试应用与 Android 12 的兼容性,现在是时候测试了!随着 Android 12 进入 Beta 版本,我们已经开放 Pixel 和其他设备上的早期体验用户和开发者进行体验。这意味着,在未来几周您将看到更多用户在 Android 12 上体验您的应用,并提交他们发现的问题。


  • Android 12: 支持设备
    https://developer.android.google.cn/about/versions/12/devices


要进行兼容性测试,请在运行 Android 12 Beta 的设备或模拟器上,通过 Google Play 或其他来源安装您的正式版应用,并测试应用的所有流程。请通过行为变更清单来确定测试重点。在解决所有发现的问题后,请尽快发布更新版本。


  • 行为变更: 所有应用
    https://developer.android.google.cn/about/versions/12/behavior-changes-all


随着 Beta 版的发布,我们越来越接近 2021 年 8 月的平台稳定性里程碑。届时,面向应用的系统行为、SDK/NDK API 和非 SDK 列表都将最终确定。您将可以完成最后的兼容性测试,并发布完全兼容的应用、SDK 或开发库。发布时间表详见:

https://developer.android.google.cn/preview/overview


  • 平台稳定性里程碑
    https://developer.android.google.cn/about/versions/12/overview#platform_stability
 

即刻开始体验 Android 12



不论您是想体验 Android 12 的功能、测试应用还是提交反馈,都可以从这次的 Beta 版开始。只需使用受支持的 Pixel 设备注册参加测试,即可通过无线 (OTA) 方式获得更新。如果您已安装过之前的预览版,您将自动获得 Beta 版更新。要开始进行开发,请设置好您的 SDK。


  • 分享使用反馈
    https://developer.android.google.cn/about/versions/12/feedback
  • 参加 Beta 版测试
    https://www.google.com/android/beta


您也可以在参与 Android 12 开发者预览计划的顶级设备制造商合作伙伴的设备上体验 Android 12 Beta。请访问 developer.android.google.cn/about/versions/12/devices 查看合作伙伴的完整列表,以及前往他们网站的链接,以了解其支持的设备的详细信息。每个合作伙伴都会提供注册和支持功能,并直接向您提供 Beta 版更新。

为了在更多设备上进行更广泛的测试,请通过 Android GSI 映像来安装和体验 Android 12 Beta。如果您没有设备,也可以在 Android 模拟器上进行测试。只需通过 Android Studio 的 SDK 管理器下载最新的模拟器系统映像即可。


  • Android GSI 映像

    https://developer.android.google.cn/about/versions/12/gsi-release-notes


请访问 Android 12 开发者网站了解获得 Beta 版的详细信息:
https://developer.android.google.cn/12
 
您对产品的反馈及问题对我们非常重要,欢迎通过下方二维码向我们提交反馈。您的问题有可能出现在下一期的 FAQ 中并获得解答。感谢您的支持!


 即刻体验 Android 12 的最新特性!点击 | 阅读原文 | 分享您的使用反馈


推荐阅读

如页面未加载,请刷新重试


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存